package my_IO;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

//
// ：在Java中对象序列化不仅保留一个对象的数据，而且递归保存对象引用的每个对象的数据。
// 可以将整个对象层次写入字节流中，
// 1.可以保存在文件中或在网络连接上传递。对象序列化可以实现分布式对象。
// 2. 利用对象序列化可以进行对象的“深复制”，即复制对象本身及引用的对象本身。
// 序列化一个对象可能得到整个对象序列。

// 对象流序列化存储，只能由对象流反序列化打印，
// 用字节流和字符流不行，win直接打开txt文件查看也是乱码，
public class ObjectOutput_my {
        public static void main(String[] args) throws IOException {
            ObjectOutputStream obs = null;
            String path = "d:\\develop\\test\\test.txt";
            try {
                obs = new ObjectOutputStream(new FileOutputStream(path));
                Object_Person objectPerson = new Object_Person("121001", "张三", 25);
                obs.writeObject(objectPerson);
                obs.flush();
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                obs.close();
            }
        }
    }

